/*
* test1
*/
package com.pitop.errortype.api;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

import com.pitop.errortype.entity.ErrortypeLocal;

/**
 * 错误类型本地化 api请求熔断器
 *
 * @author test1
 */
@FeignClient(value = "pps-cloud-provider", fallback = ErrortypeLocalFeignApiImpl.class)
public interface ErrortypeLocalFeignApi {
    /**
     * 查询ErrortypeLocal一个详情信息
     *
     * @param id
     * @param errorTypeCode 错误类型编码
     * @param language      语言
     * @return ErrortypeLocal
     */
    @GetMapping(value = "/errortypeLocal/load")
    ErrortypeLocal load(@RequestParam("id") Long id, @RequestParam("errorTypeCode") String errorTypeCode, @RequestParam("language") String language);


    /**
     * 根据条件id查询ErrortypeLocal一个详情信息
     *
     * @param id
     * @return ErrortypeLocal
     */
    @GetMapping(value = "/errortypeLocal/load/id/{id}")
    ErrortypeLocal loadById(@RequestParam("id") Long id);


    /**
     * 根据条件errorTypeCode查询ErrortypeLocal一个详情信息
     *
     * @param errorTypeCode 错误类型编码
     * @return ErrortypeLocal
     */
    @GetMapping(value = "/errortypeLocal/load/errorTypeCode/{errorTypeCode}")
    ErrortypeLocal loadByErrorTypeCode(@RequestParam("errorTypeCode") String errorTypeCode);


    /**
     * 根据条件language查询ErrortypeLocal一个详情信息
     *
     * @param language 语言
     * @return ErrortypeLocal
     */
    @GetMapping(value = "/errortypeLocal/load/language/{language}")
    ErrortypeLocal loadByLanguage(@RequestParam("language") String language);

    /**
     * 删除ErrortypeLocal
     */
    @DeleteMapping("/errortypeLocal/delete")
    void delete(@RequestParam("id") Long id, @RequestParam("errorTypeCode") String errorTypeCode, @RequestParam("language") String language);


    /**
     * 查询ErrortypeLocal信息集合
     *
     * @return 分页对象
     */
    @PostMapping(value = "/errortypeLocal/list")
    List<ErrortypeLocal> list(@RequestBody ErrortypeLocal errortypeLocal, @RequestParam("curPage") int curPage, @RequestParam("pageSize") int pageSize);


    /**
     * 查询ErrortypeLocal信息集合
     *
     * @return 分页对象
     */
    @GetMapping(value = "/errortypeLocal/list/by")
    List<ErrortypeLocal> listByPk(@RequestParam("id") Long id, @RequestParam("errorTypeCode") String errorTypeCode, @RequestParam("language") String language, @RequestParam("curPage") int curPage, @RequestParam("pageSize") int pageSize);


    /**
     * 统计ErrortypeLocal信息数量根据主键
     *
     * @return 总条数
     */
    @GetMapping(value = "/errortypeLocal/count/by")
    Integer count(@RequestParam("id") Long id, @RequestParam("errorTypeCode") String errorTypeCode, @RequestParam("language") String language);

    /**
     * 统计ErrortypeLocal信息数量
     *
     * @return 总条数
     */
    @PostMapping(value = "/errortypeLocal/count")
    Integer count(@RequestBody ErrortypeLocal errortypeLocal);


    /**
     * 创建ErrortypeLocal
     *
     * @return ErrortypeLocal
     */
    @PostMapping("/errortypeLocal/build")
    ErrortypeLocal build(@RequestBody ErrortypeLocal errortypeLocal);


    /**
     * 修改ErrortypeLocal
     *
     * @return ErrortypeLocal
     */
    @PutMapping("/errortypeLocal/modify")
    ErrortypeLocal modify(@RequestBody ErrortypeLocal errortypeLocal);


}
